home *** CD-ROM | disk | FTP | other *** search
- # Source Generated with Decompyle++
- # File: in.pyc (Python 2.6)
-
- __author__ = 'Robert Ancell <bob27@users.sourceforge.net>'
- __license__ = 'GNU General Public License Version 2'
- __copyright__ = 'Copyright 2005-2006 Robert Ancell'
- import os
- from gettext import gettext as _
- import gobject
- import gtk
- import gtk.glade as gtk
- import gtk.gdk as gtk
- import gtkui
- import glchess.ui as glchess
-
- class GtkServerList:
- __gui = None
-
- def __init__(self, gui):
- self._GtkServerList__gui = gui
- self._GtkServerList__servers = []
- view = gui.get_widget('server_list')
- if view is not None:
- store = gtk.ListStore(str, gobject.TYPE_PYOBJECT)
- view.set_model(store)
- cell = gtk.CellRendererText()
- column = gtk.TreeViewColumn('name', cell)
- column.add_attribute(cell, 'text', 0)
- view.append_column(column)
-
-
-
- def add(self, name, game):
- '''
- '''
- view = self._GtkServerList__gui.get_widget('server_list')
- if view is None:
- return None
- model = view.get_model()
- iter = model.append()
- model.set(iter, 0, name)
- model.set(iter, 1, game)
-
-
- def getSelected(self):
- '''
- '''
- view = self._GtkServerList__gui.get_widget('server_list')
- if view is None:
- return None
- selection = view.get_selection()
- (model, iter) = selection.get_selected()
- if iter is None:
- return None
- return model.get_value(iter, 1)
-
-
- def remove(self, game):
- '''
- '''
- view = self._GtkServerList__gui.get_widget('server_list')
- if view is None:
- return None
- model = view.get_model()
- iter = model.get_iter_first()
- while iter is not None:
- if model.get_value(iter, 1) is game:
- break
-
- iter = model.iter_next(iter)
- if iter is not None:
- model.remove(iter)
-
-
-
-
- class GtkNewGameDialog:
- '''
- '''
-
- def __init__(self, mainUI, aiModel, game = None):
- """Constructor for a new game dialog.
-
- 'mainUI' is the main UI.
- 'aiModel' is the AI models to use.
- 'game' is the game properties to use (ui.Game).
- """
- self._GtkNewGameDialog__mainUI = mainUI
- self.game = game
- self._GtkNewGameDialog__checking = True
- self._GtkNewGameDialog__customName = False
- self._GtkNewGameDialog__gui = gtkui.loadGladeFile('new_game.glade', 'new_game_dialog')
- self._GtkNewGameDialog__gui.signal_autoconnect(self)
- self.window = self._GtkNewGameDialog__gui.get_widget('new_game_dialog')
- self.window.set_transient_for(mainUI.mainWindow)
- mainUI.setTooltipStyle(self._GtkNewGameDialog__gui.get_widget('info_box'))
- group = gtk.SizeGroup(gtk.SIZE_GROUP_HORIZONTAL)
- i = 1
- while True:
- widget = self._GtkNewGameDialog__gui.get_widget('label%i' % i)
- if widget is None:
- break
-
- group.add_widget(widget)
- i += 1
- group = gtk.SizeGroup(gtk.SIZE_GROUP_HORIZONTAL)
- i = 1
- while True:
- widget = self._GtkNewGameDialog__gui.get_widget('image%i' % i)
- if widget is None:
- break
-
- group.add_widget(widget)
- i += 1
- defaultTime = glchess.config.get('new_game_dialog/move_time')
- times = [
- (_('Unlimited'), 0),
- (_('One minute'), 60),
- (_('Five minutes'), 300),
- (_('30 minutes'), 1800),
- (_('One hour'), 3600),
- (_('Custom'), -1)]
- timeModel = gtk.ListStore(str, int)
- activeIter = None
- for name, time in times:
- iter = timeModel.append()
- if time == defaultTime:
- activeIter = iter
-
- timeModel.set(iter, 0, name, 1, time)
-
- widget = self._GtkNewGameDialog__gui.get_widget('time_combo')
- widget.set_model(timeModel)
- if activeIter is None:
- widget.set_active_iter(iter)
- else:
- widget.set_active_iter(activeIter)
- cell = gtk.CellRendererText()
- widget.pack_start(cell, False)
- widget.add_attribute(cell, 'text', 0)
- model = gtk.ListStore(str, int)
- units = [
- (_('seconds'), 1),
- (_('minutes'), 60),
- (_('hours'), 3600)]
- for name, multiplier in units:
- iter = model.append()
- model.set(iter, 0, name, 1, multiplier)
-
- self._GtkNewGameDialog__gui.get_widget('custom_time_spin').set_value(defaultTime)
- widget = self._GtkNewGameDialog__gui.get_widget('custom_time_units_combo')
- widget.set_model(model)
- cell = gtk.CellRendererText()
- widget.pack_start(cell, False)
- widget.add_attribute(cell, 'text', 0)
- widget.set_active(0)
- levelModel = gtk.ListStore(str, str, str)
- levels = [
- ('easy', _('Easy'), 'weather-few-clouds'),
- ('normal', _('Normal'), 'weather-overcast'),
- ('hard', _('Hard'), 'weather-storm')]
- for key, label, icon in levels:
- iter = levelModel.append()
- levelModel.set(iter, 0, key, 1, icon, 2, label)
-
- for name in [
- 'black_difficulty_combo',
- 'white_difficulty_combo']:
- widget = self._GtkNewGameDialog__gui.get_widget(name)
- if widget is None:
- continue
-
- widget.set_model(levelModel)
- cell = gtk.CellRendererPixbuf()
- widget.pack_start(cell, False)
- widget.add_attribute(cell, 'icon-name', 1)
- cell = gtk.CellRendererText()
- widget.pack_start(cell, False)
- widget.add_attribute(cell, 'text', 2)
- widget.set_active(1)
-
- firstAIIndex = min(1, len(aiModel))
- for name, index in [
- ('white_type_combo', 0),
- ('black_type_combo', firstAIIndex)]:
- widget = self._GtkNewGameDialog__gui.get_widget(name)
- if widget is None:
- continue
-
- widget.set_model(aiModel)
- cell = gtk.CellRendererPixbuf()
- widget.pack_start(cell, False)
- widget.add_attribute(cell, 'icon-name', 1)
- cell = gtk.CellRendererText()
- widget.pack_start(cell, False)
- widget.add_attribute(cell, 'text', 2)
- widget.set_active(index)
-
-
- try:
- whiteType = glchess.config.get('new_game_dialog/white/type')
- whiteLevel = glchess.config.get('new_game_dialog/white/difficulty')
- blackType = glchess.config.get('new_game_dialog/black/type')
- blackLevel = glchess.config.get('new_game_dialog/black/difficulty')
- except glchess.config.Error:
- pass
-
- self._GtkNewGameDialog__setCombo('white_type_combo', whiteType)
- self._GtkNewGameDialog__setCombo('white_difficulty_combo', whiteLevel)
- self._GtkNewGameDialog__setCombo('black_type_combo', blackType)
- self._GtkNewGameDialog__setCombo('black_difficulty_combo', blackLevel)
- errors = []
- g = self.game
- if g is not None:
- self._GtkNewGameDialog__gui.get_widget('game_name_entry').set_text(g.name)
- self._GtkNewGameDialog__customName = True
- noEngineFormat = _('Unable to find %s engine')
- if not self._GtkNewGameDialog__setCombo('white_type_combo', g.white.type):
- errors.append(noEngineFormat % repr(g.white.type))
-
- self._GtkNewGameDialog__setCombo('white_difficulty_combo', g.white.level)
- if not self._GtkNewGameDialog__setCombo('black_type_combo', g.black.type):
- errors.append(noEngineFormat % repr(g.black.type))
-
- self._GtkNewGameDialog__setCombo('black_difficulty_combo', g.black.level)
- if g.path is not None:
- self.window.set_title(_('Configure loaded game (%i moves)') % len(g.moves))
-
-
- if len(errors) > 0:
- self._GtkNewGameDialog__gui.get_widget('info_title_label').set_markup('<big><b>%s</b></big>' % _('Game settings changed'))
- self._GtkNewGameDialog__gui.get_widget('info_description_label').set_markup('<i>%s</i>' % '\n'.join(errors))
- self._GtkNewGameDialog__gui.get_widget('info_box').show()
-
- self.window.present()
- self._GtkNewGameDialog__checking = False
- self._GtkNewGameDialog__testReady()
-
-
- def __setCombo(self, comboName, key):
- '''
- '''
- widget = self._GtkNewGameDialog__gui.get_widget(comboName)
- iter = self._GtkNewGameDialog__getIter(widget.get_model(), key)
- if iter is None:
- return False
- widget.set_active_iter(iter)
- return True
-
-
- def __getIter(self, model, key, default = None):
- '''
- '''
- iter = model.get_iter_first()
- while iter:
- if model.get_value(iter, 0) == key:
- return iter
- iter = model.iter_next(iter)
- continue
- model.get_value(iter, 0) == key
- return default
-
-
- def __getComboData(self, comboBox, index):
- '''
- '''
- model = comboBox.get_model()
- iter = comboBox.get_active_iter()
- if iter is None:
- return None
- data = model.get(iter, index)
- return data[0]
-
-
- def __testReady(self):
- if self._GtkNewGameDialog__checking:
- return None
- self._GtkNewGameDialog__checking = True
- ready = True
- if self._GtkNewGameDialog__customName:
- name = self._GtkNewGameDialog__gui.get_widget('game_name_entry').get_text()
- if len(name) == 0:
- self._GtkNewGameDialog__customName = False
- ready = False
-
- else:
- whiteName = self._GtkNewGameDialog__getComboData(self._GtkNewGameDialog__gui.get_widget('white_type_combo'), 2)
- blackName = self._GtkNewGameDialog__getComboData(self._GtkNewGameDialog__gui.get_widget('black_type_combo'), 2)
- format = _('%(white)s versus %(black)s')
- self._GtkNewGameDialog__gui.get_widget('game_name_entry').set_text(format % {
- 'white': whiteName,
- 'black': blackName })
- whiteType = self._GtkNewGameDialog__getComboData(self._GtkNewGameDialog__gui.get_widget('white_type_combo'), 0)
- blackType = self._GtkNewGameDialog__getComboData(self._GtkNewGameDialog__gui.get_widget('black_type_combo'), 0)
- self._GtkNewGameDialog__gui.get_widget('white_difficulty_combo').set_sensitive(whiteType != '')
- self._GtkNewGameDialog__gui.get_widget('black_difficulty_combo').set_sensitive(blackType != '')
- self._GtkNewGameDialog__gui.get_widget('start_button').set_sensitive(ready)
- self._GtkNewGameDialog__checking = False
-
-
- def __startGame(self):
- game = self.game
- if game is None:
- game = glchess.ui.Game()
-
- game.name = self._GtkNewGameDialog__gui.get_widget('game_name_entry').get_text()
- game.allowSpectators = True
- game.white.type = self._GtkNewGameDialog__getComboData(self._GtkNewGameDialog__gui.get_widget('white_type_combo'), 0)
- if game.white.type == '':
- game.white.name = _('White')
- else:
- game.white.name = self._GtkNewGameDialog__getComboData(self._GtkNewGameDialog__gui.get_widget('white_type_combo'), 2)
- game.white.level = self._GtkNewGameDialog__getComboData(self._GtkNewGameDialog__gui.get_widget('white_difficulty_combo'), 0)
- game.black.type = self._GtkNewGameDialog__getComboData(self._GtkNewGameDialog__gui.get_widget('black_type_combo'), 0)
- if game.black.type == '':
- game.black.name = _('Black')
- else:
- game.black.name = self._GtkNewGameDialog__getComboData(self._GtkNewGameDialog__gui.get_widget('black_type_combo'), 2)
- game.black.level = self._GtkNewGameDialog__getComboData(self._GtkNewGameDialog__gui.get_widget('black_difficulty_combo'), 0)
- game.duration = self._GtkNewGameDialog__getGameDuration()
- glchess.config.set('new_game_dialog/move_time', game.duration)
- glchess.config.set('new_game_dialog/white/type', game.white.type)
- glchess.config.set('new_game_dialog/white/difficulty', game.white.level)
- glchess.config.set('new_game_dialog/black/type', game.black.type)
- glchess.config.set('new_game_dialog/black/difficulty', game.black.level)
- self._GtkNewGameDialog__mainUI.feedback.onGameStart(game)
-
-
- def __getGameDuration(self):
- duration = self._GtkNewGameDialog__getComboData(self._GtkNewGameDialog__gui.get_widget('time_combo'), 1)
- if duration < 0:
- multiplier = self._GtkNewGameDialog__getComboData(self._GtkNewGameDialog__gui.get_widget('custom_time_units_combo'), 1)
- duration = self._GtkNewGameDialog__gui.get_widget('custom_time_spin').get_value_as_int() * multiplier
-
- return duration
-
-
- def _on_game_name_edited(self, widget):
- '''Gtk+ callback'''
- if self._GtkNewGameDialog__checking:
- return None
- self._GtkNewGameDialog__customName = True
- self._GtkNewGameDialog__testReady()
-
-
- def _on_time_changed(self, widget):
- '''Gtk+ callback'''
- time = self._GtkNewGameDialog__getComboData(widget, 1)
- w = self._GtkNewGameDialog__gui.get_widget('custom_time_box')
- if time < 0:
- w.show()
- else:
- w.hide()
-
-
- def _on_properties_changed(self, widget, *data):
- '''Gtk+ callback'''
- self._GtkNewGameDialog__testReady()
-
-
- def _on_response(self, dialog, responseId):
- '''Gtk+ callback'''
- if responseId == gtk.RESPONSE_OK:
- self._GtkNewGameDialog__startGame()
-
- dialog.destroy()
- if self._GtkNewGameDialog__mainUI.newGameDialog is self:
- self._GtkNewGameDialog__mainUI.newGameDialog = None
-
-
-
-
- class GtkLoadGameDialog:
- '''
- '''
-
- def __init__(self, mainUI):
- '''
- '''
- self._GtkLoadGameDialog__mainUI = mainUI
- self._GtkLoadGameDialog__gui = gtkui.loadGladeFile('load_game.glade')
- self._GtkLoadGameDialog__gui.signal_autoconnect(self)
- self.window = self._GtkLoadGameDialog__gui.get_widget('game_load_dialog')
- self.window.set_transient_for(mainUI.mainWindow)
- mainUI.setTooltipStyle(self._GtkLoadGameDialog__gui.get_widget('error_box'))
- fileChooser = self._GtkLoadGameDialog__gui.get_widget('filechooserwidget')
-
- try:
- directory = str(glchess.config.get('load_directory'))
- except glchess.config.Error:
- pass
-
- fileChooser.set_current_folder(directory)
- pgnFilter = gtk.FileFilter()
- pgnFilter.set_name(_('PGN files'))
- pgnFilter.add_pattern('*.pgn')
- fileChooser.add_filter(pgnFilter)
- allFilter = gtk.FileFilter()
- allFilter.set_name(_('All files'))
- allFilter.add_pattern('*')
- fileChooser.add_filter(allFilter)
- self.window.present()
-
-
- def _on_file_activated(self, widget):
- '''Gtk+ callback'''
- self._on_response(self.window, gtk.RESPONSE_OK)
-
-
- def _on_response(self, dialog, responseId):
- '''Gtk+ callback'''
- chooser = self._GtkLoadGameDialog__gui.get_widget('filechooserwidget')
- if responseId == gtk.RESPONSE_OK or responseId == gtk.RESPONSE_YES:
- folder = chooser.get_current_folder()
- if folder is not None:
- glchess.config.set('load_directory', folder)
-
- fileName = self._GtkLoadGameDialog__gui.get_widget('filechooserwidget').get_filename()
- if fileName is None:
- error = _('Please select a file to load')
- else:
- error = self._GtkLoadGameDialog__mainUI.feedback.loadGame(fileName, responseId == gtk.RESPONSE_YES)
- if error is not None:
- self.firstExpose = True
- self._GtkLoadGameDialog__gui.get_widget('error_box').show()
- self._GtkLoadGameDialog__gui.get_widget('error_title_label').set_markup('<big><b>%s</b></big>' % _('Unabled to load game'))
- self._GtkLoadGameDialog__gui.get_widget('error_description_label').set_markup('<i>%s</i>' % error)
- return None
-
- dialog.destroy()
- if self._GtkLoadGameDialog__mainUI.loadGameDialog is self:
- self._GtkLoadGameDialog__mainUI.loadGameDialog = None
-
-
-
-
- class GtkSaveGameDialog:
- '''
- '''
-
- def __init__(self, mainUI, view, path = None):
- '''
- '''
- self._GtkSaveGameDialog__mainUI = mainUI
- self._GtkSaveGameDialog__view = view
- self._GtkSaveGameDialog__gui = gtkui.loadGladeFile('save_game.glade')
- self._GtkSaveGameDialog__gui.signal_autoconnect(self)
- mainUI.setTooltipStyle(self._GtkSaveGameDialog__gui.get_widget('error_box'))
- self.window = self._GtkSaveGameDialog__gui.get_widget('save_dialog')
- self.window.set_transient_for(mainUI.mainWindow)
- chooser = self._GtkSaveGameDialog__gui.get_widget('filechooser')
-
- try:
- directory = str(glchess.config.get('save_directory'))
- except glchess.config.Error:
- pass
-
- chooser.set_current_folder(directory)
- pgnFilter = gtk.FileFilter()
- pgnFilter.set_name('PGN files')
- pgnFilter.add_pattern('*.pgn')
- chooser.add_filter(pgnFilter)
- allFilter = gtk.FileFilter()
- allFilter.set_name('All files')
- allFilter.add_pattern('*')
- chooser.add_filter(allFilter)
- if path is not None:
- chooser.set_current_name(path)
-
-
-
- def _on_file_activated(self, widget):
- '''Gtk+ callback'''
- self._on_response(self.window, gtk.RESPONSE_OK)
-
-
- def __setError(self, title, content):
- '''
- '''
- self.firstExpose = True
- self._GtkSaveGameDialog__gui.get_widget('error_box').show()
- self._GtkSaveGameDialog__gui.get_widget('error_title_label').set_markup('<big><b>%s</b></big>' % title)
- self._GtkSaveGameDialog__gui.get_widget('error_description_label').set_markup('<i>%s</i>' % content)
-
-
- def _on_response(self, dialog, responseId):
- '''Gtk+ callback'''
- chooser = self._GtkSaveGameDialog__gui.get_widget('filechooser')
- if responseId == gtk.RESPONSE_OK:
- fname = chooser.get_filename()
- if fname is None:
- self._GtkSaveGameDialog__setError(_('Please enter a file name'), '')
- return None
- if fname[-4:].lower() != '.pgn':
- fname += '.pgn'
-
- folder = chooser.get_current_folder()
- if folder is not None:
- glchess.config.set('save_directory', folder)
-
- error = self._GtkSaveGameDialog__mainUI._saveView(self._GtkSaveGameDialog__view, fname)
- if error is not None:
- self._GtkSaveGameDialog__setError(_('Unabled to save game'), error)
- return None
- else:
- self._GtkSaveGameDialog__mainUI._saveView(self._GtkSaveGameDialog__view, None)
- dialog.destroy()
-
-
-
- class GtkPreferencesDialog:
- '''
- '''
-
- def __init__(self, mainUI):
- """Constructor for the preferences dialog.
-
- 'mainUI' is the main UI.
- """
- self._GtkPreferencesDialog__gui = gtkui.loadGladeFile('preferences.glade', 'preferences')
- self._GtkPreferencesDialog__gui.signal_autoconnect(self)
- self._GtkPreferencesDialog__gui.get_widget('preferences').set_transient_for(mainUI.mainWindow)
- moveModel = gtk.ListStore(str, str)
- widget = self._GtkPreferencesDialog__gui.get_widget('move_format_combo')
- widget.set_model(moveModel)
- move_formats = [
- ('human', _('Human')),
- ('san', _('Standard Algebraic')),
- ('fan', _('Figurine')),
- ('lan', _('Long Algebraic'))]
- for key, label in move_formats:
- iter = moveModel.append()
- moveModel.set(iter, 0, label, 1, key)
-
- boardModel = gtk.ListStore(str, str)
- widget = self._GtkPreferencesDialog__gui.get_widget('board_combo')
- widget.set_model(boardModel)
- view_list = [
- ('white', _('White Side')),
- ('black', _('Black Side')),
- ('human', _('Human Side')),
- ('current', _('Current Player'))]
- for key, label in view_list:
- iter = boardModel.append()
- boardModel.set(iter, 0, label, 1, key)
-
- promotionModel = gtk.ListStore(str, str)
- widget = self._GtkPreferencesDialog__gui.get_widget('promotion_type_combo')
- widget.set_model(promotionModel)
- promotion_list = [
- ('queen', _('chess-piece|Queen')),
- ('knight', _('chess-piece|Knight')),
- ('rook', _('chess-piece|Rook')),
- ('bishop', _('chess-piece|Bishop'))]
- for key, label in promotion_list:
-
- try:
- label = label.split('|', 1)[1]
- except IndexError:
- pass
-
- iter = promotionModel.append()
- promotionModel.set(iter, 0, label, 1, key)
-
- for key in [
- 'show_3d',
- 'show_3d_smooth',
- 'show_toolbar',
- 'show_history',
- 'show_move_hints',
- 'show_numbering',
- 'move_format',
- 'board_view',
- 'promotion_type']:
- glchess.config.watch(key, self._GtkPreferencesDialog__applyConfig)
-
- try:
- value = glchess.config.get(key)
- except glchess.config.Error:
- continue
-
- self._GtkPreferencesDialog__applyConfig(key, value)
-
-
-
- def __applyConfig(self, name, value):
- '''
- '''
- if name == 'show_3d':
- self._GtkPreferencesDialog__gui.get_widget('show_3d').set_active(value)
- self._GtkPreferencesDialog__gui.get_widget('show_3d_smooth').set_sensitive(value)
- elif name == 'show_3d_smooth':
- self._GtkPreferencesDialog__gui.get_widget('show_3d_smooth').set_active(value)
- elif name == 'show_toolbar':
- self._GtkPreferencesDialog__gui.get_widget('show_toolbar').set_active(value)
- elif name == 'show_history':
- self._GtkPreferencesDialog__gui.get_widget('show_history').set_active(value)
- elif name == 'show_move_hints':
- self._GtkPreferencesDialog__gui.get_widget('show_move_hints').set_active(value)
- elif name == 'show_numbering':
- self._GtkPreferencesDialog__gui.get_widget('show_numbering').set_active(value)
- elif name == 'move_format':
- widget = self._GtkPreferencesDialog__gui.get_widget('move_format_combo')
- for row in widget.get_model():
- if row[1] == value:
- widget.set_active_iter(row.iter)
- continue
-
- elif name == 'promotion_type':
- widget = self._GtkPreferencesDialog__gui.get_widget('promotion_type_combo')
- for row in widget.get_model():
- if row[1] == value:
- widget.set_active_iter(row.iter)
- continue
-
- elif name == 'board_view':
- widget = self._GtkPreferencesDialog__gui.get_widget('board_combo')
- for row in widget.get_model():
- if row[1] == value:
- widget.set_active_iter(row.iter)
- continue
-
- elif not False:
- raise AssertionError, 'Unknown config item: %s' % name
-
-
- def setVisible(self, isVisible):
- window = self._GtkPreferencesDialog__gui.get_widget('preferences')
- if isVisible:
- window.present()
- else:
- window.hide()
-
-
- def _on_response(self, dialog, responseId):
- '''Gtk+ callback'''
- self.setVisible(False)
-
-
- def _on_delete(self, dialog, event):
- '''Gtk+ callback'''
- self.setVisible(False)
- return True
-
-
- def _on_move_format_combo_changed(self, widget):
- '''Gtk+ callback'''
- model = widget.get_model()
- iter = widget.get_active_iter()
- if iter is None:
- return None
- data = model.get(iter, 1)
- if data[0] is not None:
- glchess.config.set('move_format', data[0])
-
-
-
- def _on_board_combo_changed(self, widget):
- '''Gtk+ callback'''
- model = widget.get_model()
- iter = widget.get_active_iter()
- if iter is None:
- return None
- data = model.get(iter, 1)
- if data[0] is not None:
- glchess.config.set('board_view', data[0])
-
-
-
- def _on_promotion_type_combo_changed(self, widget):
- '''Gtk+ callback'''
- model = widget.get_model()
- iter = widget.get_active_iter()
- if iter is None:
- return None
- data = model.get(iter, 1)
- if data[0] is not None:
- glchess.config.set('promotion_type', data[0])
-
-
-
- def _on_3d_view_activate(self, widget):
- '''Gtk+ callback'''
- glchess.config.set('show_3d', widget.get_active())
-
-
- def _on_3d_smooth_toggled(self, widget):
- '''Gtk+ callback'''
- glchess.config.set('show_3d_smooth', widget.get_active())
-
-
- def _on_show_toolbar_activate(self, widget):
- '''Gtk+ callback'''
- glchess.config.set('show_toolbar', widget.get_active())
-
-
- def _on_show_history_activate(self, widget):
- '''Gtk+ callback'''
- glchess.config.set('show_history', widget.get_active())
-
-
- def _on_move_hints_activate(self, widget):
- '''Gtk+ callback'''
- glchess.config.set('show_move_hints', widget.get_active())
-
-
- def _on_board_numbering_activate(self, widget):
- '''Gtk+ callback'''
- glchess.config.set('show_numbering', widget.get_active())
-
-
-